feat: document companion type lifting#313
Merged
magnus-madsen merged 2 commits intomasterfrom Apr 27, 2026
Merged
Conversation
Update the companion modules page to reflect the new style introduced in flix/flix#12518: companions are declared inside a module of the same name, must be the first declaration, and may be enums, structs, effects, or traits. Also document field visibility for struct companions and instance placement in companion modules. Add a corresponding section to for-llms.md so generated code uses the new style. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Update all struct examples in structs.md to declare each struct inside a module of the same name (its companion), matching the convention documented in companion-modules.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
src/companion-modules.mdto reflect the new convention from feat: companion lifting flix#12518: companions are declared inside a module of the same name and must be the first declaration. Extends coverage from enum/trait to enum, struct, effect, and trait. Adds a section on placing instances in a type's companion module.src/for-llms.mdso generated code uses the new style instead of the older sibling form.Test plan
🤖 Generated with Claude Code